package interview.huawei.training.p90;

import java.util.Scanner;
import java.util.regex.Pattern;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()) {
            String ip_str = scanner.nextLine();
            boolean valid = true;
            // 用正则校验是不是xxx.xxx.xxx.xxx格式
            if(Pattern.matches("(\\d{1,3}\\.){3}\\d{1,3}", ip_str)) {
                String[] ip_nums_str = ip_str.split("\\.");
                for (int i = 0; i < 4; i++) {
                    String ip_num_str = ip_nums_str[i];
                    if (ip_num_str.length() >= 1 && ip_num_str.length() <= 3) {
                        int ip_num = Integer.parseInt(ip_num_str);
                        // 合法就继续下一次循环
                        if ((ip_num_str.startsWith("0") && ip_num_str.equals("0")) || (!ip_num_str.startsWith("0") && ip_num >= 0 && ip_num <= 255)) {
                            continue;
                        }
                        valid = false;
                        break;
                    } else {
                        valid = false;
                        break;
                    }
                }
            } else {
                valid = false;
            }
            System.out.println(valid ? "YES" : "NO");
        }
    }
}